package com.yida.gwj.basis.service;

import com.yida.gwj.basis.domain.GwjInitBusiness;
import com.yida.gwj.basis.domain.GwjInitBusinessLog;
import com.yida.gwj.common.domain.dto.GwjUserDTO;

import java.util.List;

/**
 * 签署意见Service接口
 *
 * @author lqq
 * @date 2022-11-15
 */
public interface IGwjInitBusinessLogService {

	/**
	 * 查询业务日志
	 *
	 * @param bizId 业务ID
	 * @return /
	 */
	List<GwjInitBusinessLog> getLogList(Long bizId);

	/**
	 * 根据步骤查询的终提交人
	 *
	 * @param bizId  业务ID
	 * @param stepId 步骤ID
	 * @return 操作者ID
	 */
	GwjUserDTO getPreviousSubmitUser(Long bizId, Long stepId);

	/**
	 * 根据步业务ID删除日志
	 *
	 * @param bizId 业务ID
	 * @return 操作者ID
	 */
	int deleteByBizId(Long bizId);

	/**
	 * 送件日志
	 *
	 * @param businessLog 业务日志
	 * @param business    业务信息
	 */
	void addSendLog(GwjInitBusinessLog businessLog, GwjInitBusiness business);

	/**
	 * 签署意见日志
	 *
	 * @param businessLog 日志信息
	 */
	void addSignOpinionLog(GwjInitBusinessLog businessLog);

	/**
	 * 回退日志
	 *
	 * @param business 业务信息
	 */
	void addFallbackLog(GwjInitBusinessLog business);

	/**
	 * 保存日志
	 *
	 * @param business 业务信息
	 */
	void addSaveLog(GwjInitBusiness business);

	/**
	 * 提交日志
	 *
	 * @param businessLog 业务日志
	 * @param business    业务信息
	 */
	void addSubmitLog(GwjInitBusiness business, GwjInitBusinessLog businessLog);

	/**
	 * 案例回顾日志
	 *
	 * @param business 业务信息
	 */
	void addFinishLog(GwjInitBusiness business);
}
